package com.softer.wxzj.mapper;

import com.softer.wxzj.entity.BaseBankInfo;
import com.softer.wxzj.mapper.base.BaseMapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public interface BaseBankInfoMapper extends BaseMapper<BaseBankInfo> {
    int insertSelective(BaseBankInfo record);

    BaseBankInfo selectByPrimaryKey(String id);

    int updateByPrimaryKeySelective(BaseBankInfo record);

    int updateByPrimaryKey(BaseBankInfo record);

    /**
     * 校验银行是否存在
     *
     * @param bankName 银行名称
     * @return 银行ID
     */
    String checkName(String bankName);

    /**
     * 查询银行名
     * @param id 银行Id
     * @return 银行名
     */
    String getBankName(String id);

    /**
     * 模糊查询银行列表
     *
     * @param fuzzy 模糊字段
     * @return 银行名称
     */
    List<BaseBankInfo> fuzzySearch(String fuzzy);

    /**
     * 校验退款中是否有使用
     *
     * @param id 银行ID
     * @return 退款ID
     */
    String checkRefPay(String id);
    /**
     * 校验承办银行中是否有使用
     *
     * @param id 银行ID
     * @return 承办银行ID
     */
    String checkContractorBank(String id);

    /**
     *添加承办银行的下拉框
     * @return
     */
    List<BaseBankInfo> getListToAddBank();

    /**
     * 修改银行科目代码
     * @param bankId
     * @param firstLevelCode
     * @return
     */
    int updateFinanceNo(@Param("bankId") String bankId,@Param("firstLevelCode")  String firstLevelCode);

    /**
     * 根据银行名称查询银行ID
     * @param bankName  银行名称
     * @return 银行ID
     */
    String getIdByBankName(String bankName);
}
